const mysql=require('mysql');
const {SQL_CONF}=require('../utils/db')
const env=process.env.NODE_ENV;
const debug=env==='dev'?true:false;
const conneciton=()=>{
    const con= mysql.createConnection(SQL_CONF);
    con.connect();
    return con;
}
//查询相关
const query=(sql)=>{
    debug&&console.log(sql);
    const conn=conneciton();
    return new Promise((resolve,reject)=>{
         try{
             conn.query(sql,(err,results)=>{
                 if(err){
                    // debug&&console.log('查询失败，原因:' +Json.stringify(err))
                     reject(err);
                 }else{
                     //debug&&console.log('查询成功',  Json.stringify(results));
                     resolve(results);
                 }
             })
         }catch(e){
            reject(e);
         } finally{
             //关闭连接池
             conn.end();
         }
    })

}
//查询单条数据
const queryOne=(sql)=>{
    return new Promise((resolve,reject)=>{
       query(sql).then(results=>{
          
        if(results&&results.length>0){
            resolve(results[0])
        }else{
            resolve(null)
        }
       }).catch(err=>{
        reject(err);
       })
    })

}
const exec=(sql)=>{
    debug&&console.log(sql);
    const conn=conneciton();
    return new Promise((resolve,reject)=>{
         try{
             conn.query(sql,(err,results)=>{
                 if(err){
                     //debug&&console.log('查询失败，原因:' + json.stringify(err))
                    reject(err);
                 }else{
                     //debug&&console.log('查询成功',json.stringify(results));
                     resolve(results);
                 }
             })
         }catch(e){
            reject(err);
         } finally{
             //关闭连接池
             conn.end();
         }
    })
}

module.exports={
    query,
    queryOne,
    exec,
}